UintBuffer.pack   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 11
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
dl 0
loc 11
rs 10
c 0
b 0
f 0
1
// Type definitions for uint-buffer 1.0
2
// Project: https://github.com/rochars/uint-buffer
3
// Definitions by: Rafael da Silva Rocha <https://github.com/rochars>
4
// Definitions: https://github.com/rochars/uint-buffer
5
6
export = UintBuffer;
7
8
declare module UintBuffer {
9
10
  class UintBuffer {
11
    /**
12
     * @param {number} bits The number of bits used by the integer.
13
     */
14
    constructor(bits: number);
15
16
    /**
17
     * The number of bits used by one number.
18
     * @type {number}
19
     */
20
    bits: number;
21
22
    /**
23
     * The number of bytes used by one number.
24
     * @type {number}
25
     */
26
    bytes: number;
27
    /**
28
     * @type {number}
29
     * @protected
30
     */
31
    max: number;
32
    /**
33
     * @type {number}
34
     * @protected
35
     */
36
    min: number;
37
38
    /**
39
     * Write one unsigned integer to a byte buffer.
40
     * @param {!Uint8Array|!Array<number>} buffer An array of bytes.
41
     * @param {number} num The number.
42
     * @param {number=} index The index being written in the byte buffer.
43
     * @return {number} The next index to write on the byte buffer.
44
     * @throws {TypeError} If num is not a number.
45
     * @throws {RangeError} On overflow.
46
     */
47
    pack(buffer: Uint8Array|number[], num: number, index?: number): number;
48
49
    /**
50
     * Read one unsigned integer from a byte buffer.
51
     * @param {!Uint8Array|!Array<number>} buffer An array of bytes.
52
     * @param {number=} index The index to read.
53
     * @return {number} The number.
54
     * @throws {RangeError} On overflow.
55
     */
56
    unpack(buffer: Uint8Array|number[], index?: number): number;
57
58
    /**
59
     * Write one unsigned integer to a byte buffer.
60
     * This method assumes the input has already been validated
61
     * and should be used only if you know what you are doing.
62
     * @param {!Uint8Array|!Array<number>} buffer An array of bytes.
63
     * @param {number} num The number.
64
     * @param {number=} index The index being written in the byte buffer.
65
     * @return {number} The next index to write on the byte buffer.
66
     */
67
    packUnsafe(buffer: Uint8Array|number[], index?: number): number;
68
69
    /**
70
     * Read one integer number from a byte buffer.
71
     * @param {!Uint8Array|!Array<number>} buffer An array of bytes.
72
     * @param {number=} index The index to read.
73
     * @return {number}
74
     */
75
    unpackUnsafe(buffer: Uint8Array|Array<number>, index?: number): number;
76
77
    /**
78
     * Throws error in case of overflow.
79
     * @param {number} num The number.
80
     * @throws {RangeError} On overflow.
81
     * @protected
82
     */
83
    overflow(num: number): void;
84
  }
85
}
86